package com.example.demo.mapper;

import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.Date;

public interface IUserMapper {
    /**
     * 新增普通用户
     * @param userId
     * @param username
     * @param password
     * @param role
     * @return
     */
    Integer insert(@Param("userId") String userId, @Param("username") String username, @Param("password") String password , @Param("role") Integer role,
                   @Param("isDelete") Integer isDelete , @Param("createdTime")Date time);

    /**
     * 删除用户
     * @param userId
     * @param isDelete
     * @return
     */
    Integer delete(@Param("userId") String userId, @Param("isDelete") Integer isDelete);

    /**
     * 修改用户信息
     * @param userId
     * @param username
     * @param birthday
     * @param gender
     * @param introduce
     * @return
     */
    Integer updateImformation(@Param("userId") String userId, @Param("username") String username,
                              @Param("gender") Integer gender, @Param("birthday") Date birthday,
                              @Param("introduce") String introduce);

    /**
     * 修改密码
     * @param userId
     * @param newPassword
     * @return
     */
    Integer updatePassword(@Param("userId") String userId, @Param("newPassword") String newPassword);

    /**
     * 根据id查找用户
     * @param userId
     * @return
     */
    User getById(@Param("userId") String userId);

    /**
     * 根据用户名查找用户
     * @param username
     * @return
     */
    User getUserByName (@Param("username") String username);

    /**
     * 查询用户名数量
     * @param username
     * @return
     */
    Integer count(@Param("username") String username);


    /**
     * 用户登录
     * @param username
     * @param password
     * @return
     *//*
    Integer login(@Param("username") String username, @Param("password") String password);*/

}
